package service

import (
	"rpc-protos/common/pb"
)

/**
 * Service中的一些公共方法
 */
type BaseService struct {
}

/**
 * 异常状态码
 */
func (s BaseService) FailedMessage(code int32, message string, error string) *pb.CodeMessage {
	msg := &pb.CodeMessage{Code: code, Message: message, Error: error}
	return msg
}

/**
 * 默认情况下，成功不需要特别设置，默认code为0，message为空。非特殊情况不建议返回成功的状态码
 */
func (s BaseService) SuccessMessage(code int32, message string) *pb.CodeMessage {
	msg := &pb.CodeMessage{Code: code, Message: message, Error: ""}
	return msg
}

/**
 * 默认情况下，成功不需要特别设置，默认code为0，message为空。非特殊情况不建议返回成功的状态码
 */
func (s BaseService) Success() *pb.CodeMessage {
	msg := s.SuccessMessage(200, "执行成功")
	return msg
}

func (s BaseService) ParamInvalid() *pb.CodeMessage {
	msg := s.SuccessMessage(4000, "参数不合法")
	return msg
}

func (s BaseService) ServerFailed() *pb.CodeMessage {
	msg := s.SuccessMessage(5000, "服务器异常")
	return msg
}
